/********************************************************************

Global header for OOPUtil namespace
The OOPUtil namespace contains some common utility classes to support other 
frameworks.

Write Date: 2011/03/23
Author: Deng Nianchen
>>>> Define OOPUtil namespace and 4 classes:
>>>> OOPException
>>>> NDVector
>>>> Ptr
>>>> Singleton
	
*********************************************************************/
#ifndef OOPUTILS_GLOBAL_H
#define OOPUTILS_GLOBAL_H



#ifndef _OOPUTILS_BEGIN
#define _OOPUTILS_BEGIN namespace OOPUtils {
#endif



#ifndef _OOPUTILS_END
#define _OOPUTILS_END }
#endif



#pragma warning(disable: 4290)
#pragma warning(disable: 4074)
#pragma warning(disable: 4251)


#ifdef IN_UTILS
#define _EXPORT_UTILS_CLASS _declspec(dllexport) 
#else
#define _EXPORT_UTILS_CLASS _declspec(dllimport) 
#endif // IN_UTILS

#ifndef IN
#define IN
#endif
#ifndef OUT
#define OUT
#endif
#ifndef INOUT
#define INOUT
#endif

typedef unsigned int uint;


enum SupportFormat { GRAY_8, RGB_24, ARGB_32 };

#ifndef PI
#define PI 3.1415926535
#endif


#endif